﻿// -------------------------------------------------------------------------
//    @FileName         :    NFCityPlayerEscortAgent.h
//    @Author           :    Gao.Yi
//    @Date             :    2025-09-29
//    @Email			:    445267987@qq.com
//    @Module           :    NFCityPlayerEscortAgent
//    @Desc             :
//
// -------------------------------------------------------------------------

#pragma once

#include "proto_common_base.nanopb.h"
#include "NFComm/NFObjCommon/NFSeqOP.h"

class NFCityPlayer;

class NFCityPlayerEscortAgent : public NFSeqOP
{
public:
    NFCityPlayerEscortAgent();
    ~NFCityPlayerEscortAgent() override;
    int CreateInit();
    int ResumeInit();
public:
    void SetEscortState(bool isInEscort);

    bool GetEscortState() const;

    void ClearEscortMove();

    void SetBattleState(bool isInBattle);

    bool GetBattleState() const;

public:
    int UpdateMapData(NFCityPlayer* pPlayer, int iMapDescID, const Proto_Vector3& oPos, int iDirection);

private:
    bool in_escort;
    bool in_battle;

    int m_iMapDescID;
    Proto_Vector3 m_oPos;
    int m_iDirection;

    bool m_bChangeMap;
    uint32_t m_iChangeMapMove;

    uint32_t m_iMove;
};
